﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>

// 判断一个数字是否是回文数
int isPalindrome(int num) {
    char num_str[7];  // 对于五位和六位数字，长度6足够存放字符串形式及结束符
    sprintf(num_str, "%d", num);
    int len = strlen(num_str);
    for (int i = 0; i < len / 2; i++) {
        if (num_str[i] != num_str[len - 1 - i]) {
            return 0;
        }
    }
    return 1;
}

// 计算一个数字各位数字之和
int digitSum(int num) {
    int sum = 0;
    while (num > 0) {
        sum += num % 10;
        num /= 10;
    }
    return sum;
}

int main() {
    int n;
    scanf("%d", &n);
    // 遍历所有五位数字
    for (int num = 10000; num < 100000; num++) {
        if (isPalindrome(num) && digitSum(num) == n) {
            printf("%d\n", num);
        }
    }
    // 遍历所有六位数字
    for (int num = 100000; num < 1000000; num++) {
        if (isPalindrome(num) && digitSum(num) == n) {
            printf("%d\n", num);
        }
    }
    return 0;
}